home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
redakcyjne
/
programy
/
Tlen 6.0.1.12 pl
/
tleninst60112.exe
/
sdk
/
TlenSources
/
plugin
/
plugin_file.h
< prev
next >
Wrap
C/C++ Source or Header
|
2006-08-30
|
5KB
|
144 lines
// wysylanie plikow
#ifndef __TLEN_PLUGIN_FILE_H__
#define __TLEN_PLUGIN_FILE_H__
#define TLEN_FILE_CALLFUNCTION "Tlen/File/CallFunction"
// wysylanie plikow
#define TLEN_FILE_SEND 1
// wtyczka moze sie zarejestrowac jako menadzer transferu plikow, wtedy
// bedzie otrzymywala zdarzenia zwiazane z przesylaniem plikow
#define TLEN_FILE_REGISTER_MANAGER 2
// wyrejestrowuje managera
#define TLEN_FILE_UNREGISTER_MANAGER 3
// anulowanie wysylania/odbierania pliku
#define TLEN_FILE_CANCEL 4
// ponawianie wysylania/odbierania pliku
#define TLEN_FILE_RETRY 5
// chwilowe zatrzymanie wysylania/odbierania pliku
#define TLEN_FILE_STOP 6
// sluzy do pobierania katalogu w ktorym maja byc zapisane pliki
// WPARAM wskaznik na zainicjalizowana strukture TlenFileDirectoryBuffer
// zwraca zero jesli udalo sie skopiowac do bufora lub dlugisc sciezki w przypadku bledu
#define TLEN_FILE_GET_DIRECTORY 16
// sluzy do sprawdzania czy nalezy zamknac okno po zakonczeniu przesylania plikow
// zwraca 1 jesli nalezy zamknac to okno lub 0 jesli nie
#define TLEN_FILE_CLOSE_WINDOW 17
// sluzy do sprawdzania czy ma odbierac automatycznie czy sie pytac
// jesli 1 to automatycznie odbieraj od osob z listy jesli zero to zawsze pytaj
#define TLEN_FILE_AUTOMATIC_ANSWER 18
// sluzy do sprawdzania czy nalezy odgrywac dzwiek przy przyjsciu pliku
#define TLEN_FILE_PLAY_SOUND 19
// sluzy do sprawdzania czy zostaly ustawione niestandardowe opcje
#define TLEN_FILE_NONSTANDARD_SETTINGS 20
// czy ma pokazywac liste plikow przed odebraniem?
#define TLEN_FILE_SHOW_LIST 21
typedef struct
{
int structSize;
char * buffer; /// wskaznik na bufor
int length; /// dlugosc bufora
} TlenFileDirectoryBuffer;
enum
{
TLEN_FILE_EVENT_NONE = 0, // nic
TLEN_FILE_EVENT_CONNECTED, // polaczono
TLEN_FILE_EVENT_PROGRESS, // progress wysylania/odbierania pliku
TLEN_FILE_EVENT_DONE, // pomyslnie wyslano lub odebrano plik
TLEN_FILE_EVENT_ERROR, // blad podczas wysylania lub odbierania pliku
TLEN_FILE_EVENT_STARTED, // zaczelo sie wysylanie lub odbieranie pliku
// core wysyla w tym evencie informacje o pliku, nadawcy, odbiorcy itp
// wtyczka zwraca id, ktory nadala dla tego transferu
// te id jest pozniej uzywane do dalszej komunikacji
TLEN_FILE_EVENT_SHOW, // pokaz okno managera plikow na pierwszym planie
};
#define TLEN_FILE_FLAG_SENDING 1 // wysylanie
typedef struct
{
int structSize;
ttuint8 type; // typ eventu
ttuint32 userID; // id transferu, dla eventu STARTED wtyczka ustawia te id
// dla pozostalych eventow te pole identyfikuje dany transfer
} TlenFileEvent;
// event mowiacy o postepie w wysylaniu / odbieraniu pliku
typedef struct
{
int structSize;
ttint64 bytes; // ile juz wyslano/odebrano pliku w bajtach
} TlenFileEventProgress; // postep wysylania/odbierania pliku
// zdarzenie bledu
typedef struct
{
int structSize;
ttuint8 type; // typ bledu
char *message; // tresc bledu
} TlenFileEventError;
// rozpoczecie wysylania lub odbierania pliku
// flaga SENDING okresla czy jest to wysylanie czy odbieranie
// w tym evencie wtyczka zwraca id transferu, ktore bedzie uzywane w dalszej
// komunikacji wtyczka<->core
typedef struct
{
int structSize; // wielko£µ struktury w bajtach
ttuint16 flags; // flagi
char *protocolID; // id protokolu np PROTOCOL_ID_TLEN, PROTOCOL_ID_GG
char *sender; // nadawca
char *receiver; // odbiorca
char *path; // sciezka do pliku
char *outname; // nazwa pliku docelowego
ttint64 offset; // przesuniecie w pliku, od ktorego zaczynamy wysylac
ttint64 size; // wielkosc pliku
} TlenFileEventStarted;
typedef int (*TlenFileCallback) (TlenFileEvent *event, void *data);
// struktura opisujaca wysylany plik
typedef struct
{
int structSize; //wielko£µ struktury w bajtach
char *protocolID; // id protokolu np PROTOCOL_ID_TLEN, PROTOCOL_ID_GG
char *sender; // nadawca
char *receiver; // odbiorca
char *path; // sciezka do pliku
char *outname; // nazwa pliku docelowego
ttint64 offset; // przesuniecie w pliku, od ktorego zaczynamy wysylac
TlenFileCallback callback; // callback uruchamiany w przypadku roznych zdarzen
} TlenFileSend;
// struktura opisujaca menadzera transferow
// do funkcji register i unregister
typedef struct
{
int structSize;
TlenFileCallback callback; // funkcja obslugi zdarzen
} TlenFileRegisterManager;
// struktura do funkcji cancel, retry i stop
typedef struct
{
int structSize;
ttuint32 userID; // id transferu
char *protocolID;
} TlenFileTransfer;
#endif